package w83b.w83bOperacionesPaso.w83bActas;


import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bActasBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaActasOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
		contexto.set("action",request.getParameter("action"));
		W83bActasBean actasBean = (W83bActasBean)contexto.get("w83bActasBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))/*||
					"".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))*/){			
				actasBean = new W83bActasBean();
				actasBean.setNumActaTerritorioDesde(request.getParameter("w83bActasBean.numActaTerritorioDesde"));
				actasBean.setNumActaAnyoDesde(request.getParameter("w83bActasBean.numActaAnyoDesde"));
				actasBean.setNumActaNumeroDesde(request.getParameter("w83bActasBean.numActaNumeroDesde"));	
				actasBean.setNumActaTerritorioHasta(request.getParameter("w83bActasBean.numActaTerritorioHasta"));
				actasBean.setNumActaAnyoHasta(request.getParameter("w83bActasBean.numActaAnyoHasta"));
				actasBean.setNumActaNumeroHasta(request.getParameter("w83bActasBean.numActaNumeroHasta"));
			
				actasBean.setNumRegTerritorioDesde(request.getParameter("w83bActasBean.numRegTerritorioDesde"));
				actasBean.setNumRegAnyoDesde(request.getParameter("w83bActasBean.numRegAnyoDesde"));
				actasBean.setNumRegNumeroDesde(request.getParameter("w83bActasBean.numRegNumeroDesde"));
				actasBean.setNumRegTerritorioHasta(request.getParameter("w83bActasBean.numRegTerritorioHasta"));
				actasBean.setNumRegAnyoHasta(request.getParameter("w83bActasBean.numRegAnyoHasta"));
				actasBean.setNumRegNumeroHasta(request.getParameter("w83bActasBean.numRegNumeroHasta"));
				actasBean.setSinRegDefinitivo(request.getParameter("w83bActasBean.sinRegDefinitivo"));
			
				actasBean.setNumPreaviso(request.getParameter("w83bActasBean.numPreaviso"));
				actasBean.setTerritorioPreaviso(request.getParameter("w83bActasBean.territorioPreaviso"));
				actasBean.setAnyoPreaviso(request.getParameter("w83bActasBean.anyoPreaviso"));
			
				actasBean.setFechaEntradaDel(request.getParameter("fechaEntrada_fInicio"));
				actasBean.setFechaEntradaHasta(request.getParameter("fechaEntrada_fFinal"));
				actasBean.setFechaComisionDel(request.getParameter("fechaComision_fInicio"));
				actasBean.setFechaComisionHasta(request.getParameter("fechaComision_fFinal"));
				actasBean.setSinFechaComision(request.getParameter("w83bActasBean.sinFechaComision"));
				actasBean.setFechaEleccionDel(request.getParameter("fechaEleccion_fInicio"));
				actasBean.setFechaEleccionHasta(request.getParameter("fechaEleccion_fFinal"));
				actasBean.setNumElectoresDesde(request.getParameter("w83bActasBean.numElectoresDesde"));
				actasBean.setNumElectoresHasta(request.getParameter("w83bActasBean.numElectoresHasta"));
				actasBean.setFechaBajaDel(request.getParameter("fechaActasBaja_fInicio"));
				actasBean.setFechaBajaHasta(request.getParameter("fechaActasBaja_fFinal"));
				actasBean.setMotivoBaja(request.getParameter("w83bActasBean.motivoBaja"));
				actasBean.setConvenio(request.getParameter("w83bActasBean.convenio"));
				actasBean.setMotivoBajaTxt(request.getParameter("w83bActasBean.motivoBajaTxt"));
				actasBean.setConvenioTxt(request.getParameter("w83bActasBean.convenioTxt"));
				actasBean.setInspecciones(request.getParameter("w83bActasBean.inspecciones"));
				actasBean.setTipoActa(request.getParameter("w83bActasBean.tipoActa"));
				actasBean.setTramite(request.getParameter("tramite"));
				actasBean.setUltTramite(request.getParameter("w83bActasBean.ultTramite"));
				actasBean.setFase(request.getParameter("fase"));
				actasBean.setFechaTramiteDel(request.getParameter("fechaTramite_fInicio"));				
				actasBean.setFechaTramiteHasta(request.getParameter("fechaTramite_fFinal"));
				
				actasBean.setFaseTxt(request.getParameter("w83bActasBean.faseTxt"));				
				actasBean.setTramiteTxt(request.getParameter("w83bActasBean.tramiteTxt"));	
				actasBean.setActaparcial(request.getParameter("w83bActasBean.actaparcial"));	
				
				actasBean.getCentroTrabajo().setCifnif(request.getParameter("w83bActasBean.centroTrabajo.cifnif"));
				actasBean.getCentroTrabajo().setNumCentro(request.getParameter("w83bActasBean.centroTrabajo.numCentro"));
				actasBean.getCentroTrabajo().setRazonSocial(request.getParameter("w83bActasBean.centroTrabajo.razonSocial"));
				actasBean.getCentroTrabajo().setCodMunicipio(request.getParameter("w83bActasBean.centroTrabajo.codMunicipio"));
				actasBean.getCentroTrabajo().setCodTerritorio(request.getParameter("w83bActasBean.centroTrabajo.codTerritorio"));	
				actasBean.getCentroTrabajo().setMunicipio(request.getParameter("w83bActasBean.centroTrabajo.municipio"));
				actasBean.getCentroTrabajo().setTerritorio(request.getParameter("w83bActasBean.centroTrabajo.territorio"));
				actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginadorPaginaUno(request, actasBean);
				
				contexto.set("w83bActasBean",actasBean);
			}else{
				actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginador(request, actasBean);
				
				contexto.set("w83bActasBean",actasBean);
			}
		}else if("sord".equals(request.getParameter("action"))){
			actasBean = (W83bActasBean)contexto.get("w83bActasBean");
			actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginador(request, actasBean);			
			contexto.set("w83bActasBean",actasBean);
		}else if(StringUtils.isEmpty(((W83bActasBean)contexto.get("w83bActasBean")).getSort())){
			actasBean = (W83bActasBean)contexto.get("w83bActasBean");
			actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginador(request, actasBean);			
			contexto.set("w83bActasBean",actasBean);
		}else if(W83bClsConstantes.MODO_BUSQUEDA_CONBUSQ_INICIAL.equals(contexto.get("modoPantalla"))){
			actasBean = (W83bActasBean)contexto.get("w83bActasBean");
			actasBean = (W83bActasBean)W83bUtilidadesComunes.inicializarPaginador(request, actasBean);			
			contexto.set("w83bActasBean",actasBean);
		}
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");

		W83bActasBean actasBean = (W83bActasBean)contexto.get("w83bActasBean");
		
		actasBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
		
		if(null==(ArrayList)contexto.get("w83bListaActas")){	
			contexto.set("w83bListaActas", new ArrayList());
		}
		
		if(actasBean.isNullBusq()||actasBean.isCambioPagina()||
				(W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))&&"".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH)))){
			return mapping.findForward("outOP");
		}else if ("find".equals(action)
				||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");
	}

}
